#ifndef PQCP_DECODE_KEY_IMPL_H
#define PQCP_DECODE_KEY_IMPL_H 

#include "bsl_params.h"
#include "hitls_config_layer_crypto.h"


#ifdef __cplusplus
extern "C" {
#endif

#ifdef HITLS_CRYPTO_CODECSKEY
typedef struct {
    const char *outFormat;
    const char *outType;
} PQCP_DECODER_CommonCtx;

int32_t PQCP_DECODER_DER2KEY_GetParam(void *ctx, BSL_Param *param);
int32_t PQCP_DECODER_DER2KEY_SetParam(void *ctx, const BSL_Param *param);
void PQCP_DECODER_DER2KEY_FreeOutData(void *ctx, BSL_Param *outParam);
void PQCP_DECODER_DER2KEY_FreeCtx(void *ctx);

void *PQCP_DECODER_MldsaDer2KeyNewCtx(void *provCtx);//创建mldsa解码上下文

int32_t PQCP_DECODER_MldsaSubPubKeyDer2KeyDecode(void *ctx, const BSL_Param *inParam, BSL_Param **outParam);//mldsa der2key公钥解码
// int32_t PQCP_DECODER_MldsaPkcs8Der2KeyDecode(void *ctx, const BSL_Param *inParam, BSL_Param **outParam);




#ifdef __cplusplus
}
#endif

#endif //HITLS_CRYPTO_CODECSKEY

#endif //PQCP_DECODE_KEY_IMPL_H 